package com.example.apiservice.config;


//import com.example.apiservice.client.fallback.AdminClientFallbackFactory;
//import com.example.apiservice.client.fallback.AiClientFallbackFactory;
import com.example.apiservice.client.fallback.StudentClientFallbackFactory;
import com.example.apiservice.client.fallback.TeacherClientFallbackFactory;
import com.example.apiservice.client.fallback.TestClientFallbackFactory;
import com.example.apiservice.interceptors.UserInfoInterceptor;
import feign.Logger;
import feign.RequestInterceptor;
import org.springframework.context.annotation.Bean;

public class FeignLogLevelConfig {

    @Bean
    public Logger.Level feignLogLevel() {
        return Logger.Level.FULL;
    }

    @Bean
    public RequestInterceptor userInfoInterceptor() {
        return new UserInfoInterceptor();
    }

//    @Bean
//    public AiClientFallbackFactory AiClientFallbackFactory() {
//        return new AiClientFallbackFactory();
//    }

    @Bean
    public StudentClientFallbackFactory StudentClientFallbackFactory() {
        return new StudentClientFallbackFactory();
    }

    @Bean
    public TeacherClientFallbackFactory TeacherClientFallbackFactory() {
        return new TeacherClientFallbackFactory();
    }

    @Bean
    public TestClientFallbackFactory TestClientFallbackFactory() {
        return new TestClientFallbackFactory();
    }

}


